<?php
/**
 * @APP@
 *
 * PHP versions 5
 *
 * @category   BEAR
 * @package    App
 * @subpackage App_Form
 * @author     $Author: anonymous $ <anonymous@example.com>
 * @version    SVN: Release: $Id:$
 */

/**
 * エントリーフォーム
 *
 * @category   BEAR
 * @package    App
 * @subpackage App_Form
 * @author     $Author: anonymous $ <anonymous@example.com>
 * @copyright  anonymous All rights reserved.
 * @version    SVN: Release: $Id:$
 */
class App_Form_Entry extends BEAR_Base
{
    /**
     * フォーム
     *
     * @var unknown_type
     */
    private $_form = array('formName' => 'entryForm', 'callback'=>array(__CLASS__, 'onRender'));

        /**
     * Form
     *
     * @return void
     */
    /**
     * メッセージフォーム作成
     *
     * @return void
     */
    public function build()
    {
        $form = BEAR::factory('BEAR_Form', $this->_form);
        $form->addElement('textarea', 'body', '何にクマった？');
        $form->applyFilter('__ALL__', 'trim');
        $form->addRule('body', '', 'required');
        $form->addRule('body', '140文字までです。', 'rangelength', array(1, 140));
        $form->addElement('submit', '_submit', '投稿する');
        $form->setRequiredNote('');
    }

    /**
     * カスタムテンプレート
     *
     * @param object $render
     *
     * @return void
     */
    public static function onRender($render)
    {
        $elementTemplate = "\n\t\t\t<li><label class=\"element\">{label}</label><div class=\"element<!-- BEGIN error --> error<!-- END error -->\"><!-- BEGIN error --><span class=\"error\">{error}</span><br /><!-- END error -->{element}</div></li>";
        $render->setElementTemplate($elementTemplate);
    }
}